iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
Web 3

Web3:我所嚮往的加密世界系列 第 12

[0x0c] 區塊鏈安全: 雙花攻擊

  • 分享至 

  • xImage
  •  

區塊鏈技術快速發展,非常多的資金流入,安全性就變得相當重要,也因為這是一個比較新的技術領域,不管是開發者還是使用者,往往都會忽略一些安全性的問題。

接下來幾天我們會介紹常見的幾種區塊鏈攻擊,很多安全性的問題我們如果可以知道其原理,就可以更好的防範。

  1. 挖礦劫持攻擊 Cryptojacking Attack
  2. 雙花攻擊 Double Spending Attack
  3. 供應鏈攻擊 Supply Chain Attack
  4. 區塊鏈拒絕服務攻擊 BDoS

雙花攻擊 Double Spending Attack

顧名思義,雙花攻擊 (Double Spend Attack) 是一筆錢 花兩次 的意思。雙花攻擊並不會產生新的幣,而是比較像是把花出去的錢拿回來,普通使用者正常使用區塊鏈網路時,基本上不會遇到被動雙花的情境,但對於攻擊者來說有很多攻擊是可以實現的,目前有常見的幾種手法能夠引發雙花攻擊:

51% 算力攻擊(51% Attack)

最常見的雙花攻擊模式,攻擊者佔有超過全網 50% 的算力,在攻擊者控制算力的這段時間,他可以創造一條長於公鏈的側鏈,再根據 最長鏈共識 使得公鏈中的交易回滾,最終實現雙花。

不過現實中比特幣、以太坊都沒被此攻擊過,因為成本太高了,比特幣的 PoW 共識,攻擊者想要在六次確認的時間內追上最長鏈,幾乎不太可能!

種族攻擊(Race attack)

這種攻擊主要通過控制礦工費(gas),來實現雙花攻擊。攻擊者會同時發送兩筆交易,一筆交易發給自己 (增加更高的礦工費),另一筆發給商家。

由於發送給自己的交易中含有較高的手續費,因此有較高機率被優先打包進最長鏈中,而商家看到攻擊者發送的交易,這時可能已被驗證,故提供商品給攻擊者。

芬尼攻擊(Finney attack)

主要通過控制交易過程中區塊確認的時間來實現雙花攻擊,攻擊對象是一個願意接受未確認交易的商家。

攻擊者用第一筆交易挖掘了一個區塊,但將其隱藏,接著用同一個比特幣發起第二筆交易給願意接受未確認交易的商家,再來攻擊者就把他自己之前挖到的區塊廣播出去,這時候發給自己的交易就先於發給商家的交易。對於攻擊者來說,通過控制區塊的廣播時間,就實現了同一筆 token 的雙花,為了降低這種風險,賣方應在放行貨物前等待至少六個區塊的確認。


上一篇
[0x0b] 區塊鏈安全: 挖礦劫持攻擊
下一篇
[0x0d] 區塊鏈安全: 供應鏈攻擊
系列文
Web3:我所嚮往的加密世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言